home *** CD-ROM | disk | FTP | other *** search
/ Apple Reference & Presen…rary 6 (Reseller Edition) / Apple Ref. & Pres. Lib.v6.0.toast / pc / 3-Presentations / Apple Demos / Training / LaserWriter Training / LaserWriter Fundamentals / Glossary / stack.txt < prev   
Text File  |  1990-08-24  |  10KB  |  340 lines

  1. -- stack: in
  2. -- format: 8 (HyperCard 1)
  3. -- flags: 0x1000 (none)
  4. -- protect password hash: 0
  5. -- maximum user level: 5 (scripting)
  6. -- window: Rect(x1=0, y1=0, x2=0, y2=0)
  7. -- screen: Rect(x1=0, y1=0, x2=0, y2=0)
  8. -- card dimensions: w=0 h=0
  9. -- scroll: x=0 y=0
  10. -- background count: 1
  11. -- first background id: 12438
  12. -- card count: 176
  13. -- first card id: 10834
  14. -- list block id: 2049
  15. -- print block id: 3578
  16. -- font table block id: 0
  17. -- style table block id: 0
  18. -- free block count: 0
  19. -- free size: 0 bytes
  20. -- total size: 85344 bytes
  21. -- stack block size: 21504 bytes
  22. -- created by hypercard version: 0x01228000
  23. -- compacted by hypercard version: 0x01258000
  24. -- modified by hypercard version: 0x01258000
  25. -- opened by hypercard version: 0x01258000
  26. -- patterns[0]: 0x0000000000000000
  27. -- patterns[1]: 0x8000000008000000
  28. -- patterns[2]: 0x8800220088002200
  29. -- patterns[3]: 0x8888222288882222
  30. -- patterns[4]: 0x88AA22AA88AA22AA
  31. -- patterns[5]: 0xCCAA33AACCAA33AA
  32. -- patterns[6]: 0xEEAABBAAEEAABBAA
  33. -- patterns[7]: 0xEEBBBBEEEEBBBBEE
  34. -- patterns[8]: 0xFFBBFFEEFFBBFFEE
  35. -- patterns[9]: 0xFFBBFFFFFFBBFFFF
  36. -- patterns[10]: 0x8010022001084004
  37. -- patterns[11]: 0xFFFFFFFFFFFFFFFF
  38. -- patterns[12]: 0x8822882288228822
  39. -- patterns[13]: 0x1122448811224488
  40. -- patterns[14]: 0xC4800C6843023026
  41. -- patterns[15]: 0xB130031BD8C00C8D
  42. -- patterns[16]: 0xAA00AA00AA00AA00
  43. -- patterns[17]: 0x8822552288225522
  44. -- patterns[18]: 0x8855225588552255
  45. -- patterns[19]: 0x77DD77DD77DD77DD
  46. -- patterns[20]: 0x8000000000000000
  47. -- patterns[21]: 0xAA55AA55AA55AA55
  48. -- patterns[22]: 0x038448300C020101
  49. -- patterns[23]: 0x8244394482010101
  50. -- patterns[24]: 0x8814224188412214
  51. -- patterns[25]: 0x8080413E080814E3
  52. -- patterns[26]: 0x22048C7422179810
  53. -- patterns[27]: 0xBE808808EB088880
  54. -- patterns[28]: 0x25C8328964244C92
  55. -- patterns[29]: 0xA29C41BE2AC914EB
  56. -- patterns[30]: 0x40A00000040A0000
  57. -- patterns[31]: 0x8040200002040800
  58. -- patterns[32]: 0xAA00800088008000
  59. -- patterns[33]: 0xFF80808080808080
  60. -- patterns[34]: 0x081C22C180010204
  61. -- patterns[35]: 0xFF808080FF080808
  62. -- patterns[36]: 0xF87422478F172271
  63. -- patterns[37]: 0xBF00BFBFB0B0B0B0
  64. -- patterns[38]: 0xFF7FBE5DA2418000
  65. -- patterns[39]: 0xFAF5FAF5A050A050
  66. -- checksum: 0x0
  67. ----- HyperTalk script -----
  68. __________________________________________________________________
  69. ‚Äî‚Äî TABLE OF CONTENTS
  70. __________________________________________________________________
  71.  
  72. __________________________________________________________________
  73. ‚Äî‚Äî GLOSSARY TOOLS
  74.  
  75. handleFieldClick
  76. goGlossaryEntry
  77. showGlossWord
  78.  
  79. __________________________________________________________________
  80. ‚Äî‚Äî GLOSSARY CREATION TOOLS
  81.  
  82. makeGlossary
  83. importGlossary
  84.  
  85. exitStack
  86. goNext
  87. goPrev
  88.  
  89. __________________________________________________________________
  90. ‚Äî‚Äî UTILITIES
  91.  
  92. lineNo
  93.  
  94. __________________________________________________________________
  95. ‚Äî‚Äî PROGRAMMING TOOLS (can be deleted before distribution)
  96.  
  97. lockAllFields
  98. unlockAllFields
  99.  
  100.  
  101. --————————————————————————————————————————————————————————————————————
  102. --————————————————————————————————————————————————————————————————————
  103. openStack
  104. arrowKey
  105. returnKey
  106. enterKey
  107. doMenu
  108.  
  109. __________________________________________________________________
  110. __________________________________________________________________
  111.  
  112.  
  113. __________________________________________________________________
  114. ‚Äî‚Äî GLOSSARY TOOLS
  115.  
  116. on handleFieldClick
  117.   lock screen
  118.   set cursor to none
  119.   set locktext of target to false
  120.   click at the clickLoc
  121.   click at the clickLoc
  122.   put the selection into myWord
  123.   put the selectedChunk into myChunk
  124.   set lockText of target to true
  125.   put word 4 of myChunk into lastChar
  126.   unlock screen
  127.   if char (lastChar + 1) of target is "*" then showGlossWord myWord
  128. end handleFieldClick
  129.  
  130. on goGlossaryEntry
  131.   lock screen
  132.   push card
  133.   put line lineNo() of target into findWhat
  134.   find findWhat in fld "subTitle"
  135.   click at 1,342
  136.   unlock screen with visual dissolve
  137. end goGlossaryEntry
  138.  
  139. on showGlossWord glossWord
  140.   lock screen
  141.   find whole glossWord in fld "Subtitle"
  142.   click at 1,300
  143.   unlock screen with visual dissolve
  144. end showGlossWord
  145.  
  146.  
  147. __________________________________________________________________
  148. ‚Äî‚Äî GLOSSARY CREATION TOOLS
  149.  
  150.  
  151. on makeGlossary
  152.   put empty into k
  153.   repeat with i = 105 to 272
  154.     go cd i
  155.     put the short id of this cd into startID
  156.     put fld "Subtitle" into whatToFind
  157.     find whole whatToFind  -- find first occurrence on same card
  158.     --    wait 75
  159.     repeat
  160.       find whole whatToFind
  161.       --      wait 15
  162.       if the number of this cd < 97 then
  163.         put whatToFind & "," & id of this cd & "," & short name of this cd & return after k
  164.       end if
  165.       if the short id of this cd is startID then exit repeat
  166.     end repeat
  167.     --    put the short name of this cd
  168.   end repeat
  169.  
  170.   go last
  171.   put k into cd fld "GlossaryInfo"
  172. end makeGlossary
  173.  
  174.  
  175. on importGlossary
  176.   put "Zowie:Glossary" into fName
  177.   open file fName
  178.   repeat  -- with i = 1 to 5
  179.     read from file fName until return
  180.     if it is empty then exit repeat
  181.     put it into k
  182.     put char 1 to offset(":",k)-1 of k into myWord
  183.     put char offset(":",k)+1 to 10000 of k into myDef
  184.     --  delete last char of myDef
  185.     put word 1 to 1000 of myDef into myDef
  186.     doMenu "New Card"
  187.     put myWord into fld "subtitle"
  188.     put myDef into fld "cardtext"
  189.     put "Glossary" into fld 1
  190.   end repeat
  191.   close file fName
  192. end importGlossary
  193.  
  194.  
  195.  
  196.  
  197. on goNext
  198.   lock screen
  199.   go next
  200.   unlock screen with visual wipe left
  201. end goNext
  202.  
  203. on goPrev
  204.   lock screen
  205.   go Prev
  206.   unlock screen with visual wipe right
  207. end goPrev
  208.  
  209. __________________________________________________________________
  210. ‚Äî‚Äî UTILITIES
  211.  
  212. function lineNo
  213. if the style of the target is "scrolling" then
  214.   return ((item 2 of the clickloc - item 2 of the rect of the target + the scroll of the target)  DIV textheight of the target) +1
  215. else
  216.   return ((item 2 of the clickloc - item 2 of the rect of the target) DIV textheight of the target) +1
  217. end if
  218. end lineNo
  219.  
  220. __________________________________________________________________
  221. ‚Äî‚Äî PROGRAMMING TOOLS (can be deleted before distribution)
  222.  
  223. on lockAllFields
  224.   set lockscreen to true
  225.   set lockmessages to true
  226.   set lockrecent to true
  227.   set cursor to watch
  228.   repeat with i = 1 to the number of cards
  229.     go card i
  230.     repeat with x = 1 to the number of bg fields
  231.       set the locktext of bg fld x to true
  232.     end repeat
  233.     repeat with y = 1 to the number of cd fields
  234.       set the locktext of cd fld y to true
  235.     end repeat
  236.   end repeat
  237. end lockAllFields
  238.  
  239. on unlockAllFields
  240.   set lockscreen to true
  241.   set lockmessages to true
  242.   set lockrecent to true
  243.   set cursor to watch
  244.   repeat with i = 1 to the number of cards
  245.     go card i
  246.     repeat with x = 1 to the number of bg fields
  247.       set the locktext of bg fld x to false
  248.     end repeat
  249.     repeat with y = 1 to the number of cd fields
  250.       set the locktext of cd fld y to false
  251.     end repeat
  252.   end repeat
  253. end unlockAllFields
  254.  
  255.  
  256. --————————————————————————————————————————————————————————————————————
  257. --————————————————————————————————————————————————————————————————————
  258.  
  259. on openStack
  260.  
  261.   pass openStack  -- Kristi
  262.  
  263.   lock screen
  264.   if the version < 1.2 then
  265.     answer "This stack requires HyperCard version 1.2." with "Continue" or "Home"
  266.     if it is "Home" then go home
  267.   end if
  268.   set cursor to none
  269.   put item 2 of the screenRect into screenTop
  270.   if top of card window < screenTop + 20 then hide menuBar
  271.   hide tool window
  272.   hide pattern window
  273.   hide msg
  274.   unlock screen with visual dissolve
  275. end openStack
  276.  
  277.  
  278. on arrowKey whatKey
  279.   if whatKey = "Left" then click at loc of bg btn "Prev" -- 442,328
  280.   if whatKey = "Right" then click at loc of bg btn "Next" -- 471,328
  281. end arrowKey
  282.  
  283. on returnKey
  284. end returnKey
  285.  
  286. --  intercept enter key
  287.  
  288. on enterKey
  289. end enterKey
  290.  
  291. on exitStack
  292.   Answer "Exit the LaserWriter Fundamentals Stack?" with "Cancel" or "Home" or "Finder"
  293.   if it is "cancel" then exit exitStack
  294.   if it is "home" then doMenu home
  295.   if it is "Finder" then doMenu "quit hypercard"
  296. end exitStack
  297.  
  298. --  disable certain menu options which are not appropriate
  299.  
  300. on doMenu whatMenu
  301.  
  302.   if whatMenu is in "Home,Quit HyperCard,Help,New Stack...,Open Stack..." then
  303.  
  304.     lock screen
  305.     repeat
  306.       pop card into dest
  307.       if "Glossary" is not in dest then
  308.         set lockmessages to true
  309.         go dest
  310.         exit repeat
  311.       end if
  312.     end repeat
  313.     set lockmessages to false
  314.     unlock screen with visual dissolve
  315.     --‚Ä¢‚Ä¢ Added by Medior, Inc. 8/8/90
  316.     global RPStackName
  317.     if RPStackName is not empty then
  318.       set cursor to watch
  319.       put RPStackName into shortname
  320.       repeat until offset(":",shortname) = 0
  321.         delete char 1 to offset(":",shortname) of shortname
  322.       end repeat
  323.       delete last char of shortname
  324.       answer "This will return to "&shortname&"." with "Cancel" or "OK"
  325.       if it is "Cancel" then exit domenu
  326.       set cursor to watch
  327.       lock screen
  328.       go RPStackName
  329.       unlock screen with dissolve fast
  330.       exit domenu
  331.     else pass doMenu
  332.  
  333.   else if whatMenu is in "Back,Recent,First,Prev,Next,Last" or whatMenu is in "Print Report...,Message,New Card,Delete Card,Cut Card" then
  334.     exit to HyperCard
  335.   end if
  336.  
  337.   pass doMenu
  338.  
  339. end doMenu
  340.